$fontColor: #fdfdfd;
$bgSettingsColor: #fafafa;
$fontSettingsColor: #1b1d3c;
$sidenavWidth: 200px;
$sidenavMinWidth: 60px;
$sidenavItemLeftWidth: 25px;
$sidenavReducedItemLeftWidth: 15px;
$sidenavItemBorderSize: 4px;
$sidenavFooterHeight: 150px;
$sidenavHeaderHeight: 64px;

@mixin min-max-width($width) {
  width: $width;
  min-width: $width;
  max-width: $width;
}

:host {
  ::ng-deep.mat-toolbar {
    padding: 0 16px 0 7px;
    background: transparent;
  }
}
.navigation-header {
  height: 100px;
  min-height: 100px;
  .logo-image {
    display: block;
    width: 130px;
    min-width: 130px;
    &.reduce-mode {
      width: 22px;
      min-width: 22px;
    }
  }
}

.gv-sidenav {
  background: var(--gv-theme-background-gradient);
  @include min-max-width($sidenavWidth);
  img.logo-image {
    margin-left: 20px;
  }
}
.gv-sidenav-min {
  @include min-max-width($sidenavMinWidth);
  img.logo-image {
    margin-left: 10px;
  }
  .sidenav-list {
    a {
      width: 74%;
      padding: 7px 0 8px $sidenavReducedItemLeftWidth;
    }
  }
}
.gv-sidenav-settings {
  background: $bgSettingsColor;
  .navigation-header {
    background: $bgSettingsColor;
  }
  a {
    color: $fontSettingsColor !important;
  }
  .sidenav-footer {
    mat-icon {
      color: $fontSettingsColor;
    }
  }
}

.side-nav-environments {
  display: flex;
  flex-direction: column;
  align-items: center;
  mat-form-field {
    width: 90%;
    font-size: 13px;
  }
}

.sidenav-list {
  min-height: calc(100vh - #{$sidenavFooterHeight} - #{$sidenavHeaderHeight});
  mat-list-item {
    min-height: 40px;
    margin-left: -16px;
    margin-bottom: -6px;
  }
  a {
    color: $fontColor;
    position: absolute;
    text-decoration: none;
    width: 92%;
    padding: 7px 0 8px $sidenavItemLeftWidth;
    &:hover, &.sidenav-active {
      font-weight: bold;
      .mat-icon {
        font-weight: bold;
      }
    }
  }
  span {
    font-size: 14px;
    margin-left: 4px;
  }
}

.sidenav-footer {
  height: $sidenavFooterHeight;
  width: 100%;
  mat-icon {
    color: $fontColor;
  }
  a {
    color: $fontColor;
    text-decoration: none;
    &:hover, &.sidenav-active {
      font-weight: bold;
      .mat-icon {
        font-weight: bold;
      }
    }
  }
  span {
    font-size: 13px;
    margin-left: 4px;
  }
  .mat-icon-button {
    margin: -20px -8px 0;
  }
}

a > mat-icon {
  vertical-align: middle;
}

